﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using proyectoFinalPDS.Presentacion;
using proyectoFinalPDS.Persistencia;

namespace proyectoFinalPDS.Aplicacion
{
    class ControladorAlumno
    {
        internal static Presentacion.DTOAlumno getUsuario(int idUsuario)
        {
            DAOAlumno daoA = new DAOAlumno();
            DTOAlumno dtoA = new DTOAlumno();

            Alumno alumno = daoA.getAlumno(idUsuario);


            dtoA.apellido = alumno.Usuario.apelliido;
            dtoA.nombre = alumno.Usuario.nombre;
            dtoA.contraseña = alumno.Usuario.contraseña;
            dtoA.email = alumno.Usuario.email;
            dtoA.nombreUsuario = alumno.Usuario.nombreUsuario;
            dtoA.ciudad = alumno.Usuario.ciudad;
            dtoA.pais = alumno.Usuario.pais;

            return dtoA;
        }

        internal int inscribirse(int idCurso, DTOAlumno usuario)
        {
            if (usuario.idUsuario != 0)
            {
                DAOAlumno daoA = new DAOAlumno();

                Alumno alumno = daoA.getAlumno(usuario.idUsuario);

                if (alumno.estasCursando(idCurso))
                {
                    return 1;
                }
                else
                {
                    alumno = daoA.ActualizarDatos(alumno, usuario);
                    daoA.inscibir(alumno, idCurso);
                    return 0;
                }
            }
            else
            {
                DAOAlumno daoA = new DAOAlumno();

                if (!daoA.existeUsuario(usuario.nombreUsuario))
                {

                    Alumno alumno = daoA.AltaAlumno(usuario);

                    if (alumno != null)
                    {
                        daoA.inscibir(alumno, idCurso);
                        return 0;
                    }
                }
                return 2;
            }

        }

        internal void setNotaTarea(Resultado_Tarea resultado)
        {
            DAOTarea dt = new DAOTarea();
            dt.persistirAlumnoTarea(resultado);
        }
    }
}
